module ecs{
    /**
     * 接口，当添加到组件时，只要启用组件和实体，它就需要调用每个帧的更新方法。
     */
    export interface IUpdatable{
        Enabled: boolean;
        UpdateOrder: number;
        Update();
    }

    /**
     * 用于排序iupdatable的比较器
     */
    export class IUpdatableComparer implements IComparer<IUpdatable>{
        public Compare(a: IUpdatable, b: IUpdatable): number{
            if(a.UpdateOrder == b.UpdateOrder){  
                return 0;
            }else if(a.UpdateOrder > b.UpdateOrder){ 
                return 1;
            }else{ 
                return -1;
            }
        }
    }
}